const express = require("express");

const app = express();

const dir = express.static("./public");
app.use(dir);
// 将urlencoded编码报文主体转对象（解码）
app.use(express.urlencoded());
// 将JSON字符串转成对象
app.use(express.json());

/*
  服务器-res->浏览器(放松写信)发件箱
  浏览器-req->服务器(接收写信)收件箱

  头部（信封）
  主体（信纸）
*/
// http://127.0.0.1:9527/users/100/group/200
/*
浏览器向服务器传递数据
  1. 动态路由参数，需要配合后端路由，参与后端路由匹配
*/
/*
GET /users/100/group/200 HTTP/1.1
*/
app.get("/users/:id/group/:gid", (req, res) => {
  console.log(req.params);
  res.send("hello");
});

// http://127.0.0.1:9527/posts?age=20&name=jack&gender=boy
/*
浏览器向服务器传递数据
  2. 查询字符串参数，不需要后端路由配合，不参与后端路由匹配
*/
app.get("/posts", (req, res) => {
  console.log(req.query);
  res.send("hello posts");
});

/*
JSON
HTML
XML
urlencoded  age=20&name=jack&gender=boy
*/

/*
  body 存储报文主体
*/

app.post("/posts", (req, res) => {
  console.log(req.headers);
  // console.log(req.params);
  // console.log(req.query);
  console.log(req.body);
  res.send("hello posts");
});

app.listen(9527, () => {
  console.log("success: http://127.0.0.1:9527");
});
